package pkg

import (
	"crypto/md5"
	"encoding/hex"
	"encoding/json"
	"fmt"
	"golang.org/x/crypto/bcrypt"
	"log"
	"math/rand"
	"strconv"
)

// 密码加密
func Md5Encrypt(str string) string {
	// 创建一个MD5哈希对象
	hash := md5.Sum([]byte(str))
	// 将哈希结果转换为十六进制字符串
	return hex.EncodeToString(hash[:])
}

// 比对密码
func ComparePwd(pwd1 string, pwd2 string) bool {
	err := bcrypt.CompareHashAndPassword([]byte(pwd1), []byte(pwd2))
	if err != nil {
		return false
	} else {
		return true
	}
}

// 生成验证码
func NumCodeString() string {
	num := rand.Intn(9000) + 1000
	return strconv.Itoa(num)
}
func GetImages(jsonImage string) []string {
	var imageData []string
	// 解析json格式图片
	fmt.Println("接受到图片：：", jsonImage)
	err := json.Unmarshal([]byte(jsonImage), &imageData)
	if err != nil {
		log.Println("解析图片数据失败:", err)
		return nil
	}
	if imageData == nil {
		imageData = []string{} // 如果解析失败，返回空切片
	}
	return imageData
}
